home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.mactech.com 2010
/
ftp.mactech.com.tar
/
ftp.mactech.com
/
machack
/
Hacks97
/
WarriorsProgress.sit
/
Warrior’s Progress
/
source code
/
Source
/
Libraries
/
Strings
/
Str.h
< prev
next >
Wrap
Text File
|
1997-06-28
|
3KB
|
113 lines
// Str.h
#ifndef Str_h
#define Str_h
#ifndef PString_h
#include "PString.h"
#endif
template < uint32 size >
class Str: public PString
{
protected:
uint8 characters[ size + 1 ];
public:
Str() : PString( Data( characters, size+1 ) ) { Clear(); }
Str( PString text ) : PString( Data( characters, size+1 ), text ) {}
Str( ConstPString text ) : PString( Data( characters, size+1 ), text ) {}
Str( ConstStr255Param text ) : PString( Data( characters, size+1 ), text ) {}
Str( ConstData text ) : PString( Data( characters, size+1 ), text ) {}
};
class String255: public Str<255>
{
public:
String255() {}
String255( PString text ) : Str<255>( text ) {}
String255( ConstPString text ) : Str<255>( text ) {}
String255( ConstStr255Param text ) : Str<255>( text ) {}
String255( ConstData text ) : Str<255>( text ) {}
operator StringPtr() { return characters; }
operator Str255&() { return characters; }
operator Str63&() { return characters; }
operator Str32&() { return characters; }
operator Str31&() { return characters; }
operator Str27&() { return characters; }
operator Str15&() { return characters; }
};
class String63: public Str<63>
{
public:
String63() {}
String63( PString text ) : Str<63>( text ) {}
String63( ConstPString text ) : Str<63>( text ) {}
String63( ConstStr255Param text ) : Str<63>( text ) {}
String63( ConstData text ) : Str<63>( text ) {}
operator Str63&() { return characters; }
operator Str32&() { return characters; }
operator Str31&() { return characters; }
operator Str27&() { return characters; }
operator Str15&() { return characters; }
};
class String32: public Str<32>
{
public:
String32() {}
String32( PString text ) : Str<32>( text ) {}
String32( ConstPString text ) : Str<32>( text ) {}
String32( ConstStr255Param text ) : Str<32>( text ) {}
String32( ConstData text ) : Str<32>( text ) {}
operator Str32&() { return characters; }
operator Str31&() { return characters; }
operator Str27&() { return characters; }
operator Str15&() { return characters; }
};
class String31: public Str<31>
{
public:
String31() {}
String31( PString text ) : Str<31>( text ) {}
String31( ConstPString text ) : Str<31>( text ) {}
String31( ConstStr255Param text ) : Str<31>( text ) {}
String31( ConstData text ) : Str<31>( text ) {}
operator Str31&() { return characters; }
operator Str27&() { return characters; }
operator Str15&() { return characters; }
};
class String27: public Str<27>
{
public:
String27() {}
String27( PString text ) : Str<27>( text ) {}
String27( ConstPString text ) : Str<27>( text ) {}
String27( ConstStr255Param text ) : Str<27>( text ) {}
String27( ConstData text ) : Str<27>( text ) {}
operator Str27&() { return characters; }
operator Str15&() { return characters; }
};
class String15: public Str<15>
{
public:
String15() {}
String15( PString text ) : Str<15>( text ) {}
String15( ConstPString text ) : Str<15>( text ) {}
String15( ConstStr255Param text ) : Str<15>( text ) {}
String15( ConstData text ) : Str<15>( text ) {}
operator Str15&() { return characters; }
};
#endif